<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript">

        /*
         * 创建一个正则表达式检查一个字符串中是否含有aaa
         */

        /*
         * 语法：量词
         * 	- 通过量词可以设置一个内容出现的次数，量词只对它前边的一个内容起作用
         * 	-
         * 	- {n} 正好出现n次
         * 	- {m,n} 出现m-n次
         * 	- {m,} m次以上
         * 	- + 至少一个，相当于{1,}
         * 	- * 0个或多个，相当于{0,}
         * 	- ? 0个或1个，相当于{0,1}
         */
        //连续a出现三次
        var reg = /a{3}/;
        //连续ab出现三次
        reg = /(ab){3}/;
        reg = /b{3}/;
        //ab连续出现1-3次
        reg = /ab{1,3}c/;
        //ab连续出现3次以上
        reg = /ab{3,}c/;
        //b至少出现一次
        reg = /ab+c/;
        //b出现0次或多次
        reg = /ab*c/;
        //b出现0次或1次
        reg = /ab?c/;
        console.log(reg.test("abbc"));

        /*
         * 检查一个字符串中是否以a开头
         * 	^ 表示开头
         * 	$ 表示结尾
         */
        reg = /^a/; //匹配开头的a
        reg = /a$/; //匹配结尾的a
        console.log(reg.test("abcabca"));

        /*
         * 如果在正则表达式中同时使用^ $则要求字符串必须完全符合正则表达式
         */
        //a开头和a结尾，只能是一位a
        reg = /^a$/;
        reg = /^a|a$/;
        console.log("同时使用^ $则要求字符串必须完全符合正则表达式" + reg.test("abca"));

        /*
         * 案例：创建一个正则表达式，用来检查一个字符串是否是一个合法手机号
         * 思路：是什么，怎么玩，为什么
         *
         * 分析：手机号的规则：
         * 	1 3 567890123 （11位）
         *
         * 	1. 以1开头
         *  2. 第二位3-9任意数字
         * 	3. 三位以后任意数字9个
         *  ^1   [3-9]  [0-9]{9}$
         *
         */
        var phoneStr = "13067890123";
        var phoneReg = /^1[3-9][0-9]{9}$/;
        console.log(phoneReg.test(phoneStr));

    </script>
</head>
<body>
</body>
</html>
